﻿// JScript File

function AutoSaveTimer(adsPlayer)
{
    this.pAdsPlayer = adsPlayer;
    this.serverManager = new ServerManager();
    this.interval = 300000;     // 5 мин
    //this.interval = 60000;  
    //this.interval = 10000;     // 10 сек
    this.id;
    this.clearTimerInterval = 5000;
    
    this.SaveTest = function()
    {
        if (!this.pAdsPlayer.finished)
        {
          //  if (timerPointer.time != 0)   //????? -   если 0, значит тоже хорошо бы записать - тогда можно сказать, что юзер не сам закончил тест, а время закончилосЯ...
            this.pAdsPlayer.xmlSource.getElementsByTagName("assessmentTest")[0].getElementsByTagName("timeLimits")[0].attributes.getNamedItem("maxTime").value = timerPointer.time;
            this.serverManager.SaveUserXml(this.pAdsPlayer.xmlSource);            
        }        
    }
    
    this.Start = function()
    {
        this.id = window.setInterval(this.Process, this.interval);                
    }
    this.Stop = function()
    {
        window.clearInterval(this.id);  
    }
        // // в этом методе юзается autoSaveTimerPointer, так как this не пахает (отдельный поток)
    this.Process = function()
    {
        autoSaveTimerPointer.SaveTest();
    }
    
    this.ProcessDone = function()
    {
        window.status = AutoSaveTimer_SavedSuccessfully;
        window.setTimeout(autoSaveTimerPointer.ClearFasade, autoSaveTimerPointer.clearTimerInterval);
    }
    
    this.ProcessFailed = function()
    {
        window.status = AutoSaveTimer_SavePostponed + this.interval/1000 + AutoSaveTimer_Secs;
        window.setTimeout(autoSaveTimerPointer.ClearFasade, autoSaveTimerPointer.clearTimerInterval);
    }
    
    this.ClearFasade = function()
    {
        window.status = "";
    }
}